package com.logistics.mapper;

import com.logistics.entity.LogisticsOrder;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import java.util.List;

@Mapper
public interface LogisticsOrderMapper {
    // 根据ID查询订单
    LogisticsOrder selectById(@Param("id") Long id);
    
    // 根据订单号查询订单
    LogisticsOrder selectByOrderNo(@Param("orderNo") String orderNo);
    
    // 根据用户ID查询订单列表
    List<LogisticsOrder> selectByUserId(@Param("userId") Long userId);
    
    // 查询所有订单
    List<LogisticsOrder> selectAll();
    
    // 插入订单
    int insert(LogisticsOrder order);
    
    // 更新订单
    int update(LogisticsOrder order);
    
    // 删除订单
    int deleteById(@Param("id") Long id);
    
    // 更新订单状态
    int updateStatus(@Param("id") Long id, @Param("status") Integer status);

    // 搜索订单
    List<LogisticsOrder> search(@Param("orderNo") String orderNo,
                               @Param("status") Integer status,
                               @Param("startDate") String startDate,
                               @Param("endDate") String endDate);
} 